With the advent of digital communications technology, many TV program streams are transmitted in digital formats. For example, Digital Satellite System (DSS), Digital Broadcast Services (DBS), and Advanced Television Standards Committee (ATSC) program streams are digitally formatted pursuant to the well known Moving Pictures Experts Group 2 (MPEG-2) standard. The MPEG-2 standard specifies, among other things, the methodologies for video and audio data compression allowing for multiple programs, with different video and audio feeds, to be multiplexed in a transport stream traversing a single transmission channel. A digital TV receiver may be used to decode an MPEG-2 encoded transport stream, and extract the desired program therefrom.
In accordance with the MPEG-2 standard, video data may be compressed based on a sequence of groups of pictures (GOPs), made up of three types of picture frames, namely, intra-coded picture frames (“I-frames”), forward predictive frames (“P-frames”), and bilinear frames (“B-frames”). Each GOP may, for example, begin with an I-frame which is obtained by spatially compressing a complete picture using discrete cosine transformation (DCT). As a result, if a transmission error or a channel switch occurs, it is possible to resume correct decoding at the next I-frame. The GOP may represent additional frames by providing a much smaller block of digital data that indicates how small portions of the I-frame, referred to as macroblocks, move over time.
An I-frame is typically followed by multiple P- and B-frames in a GOP Thus, for example, a P-frame occurs more frequently than an I-frame by a ratio of about 3 to 1. A P-frame is forward predictive and is encoded from the I- or P-frame that precedes it. A P-frame contains the difference between a current frame and the previous I- or P-frame. A B-frame compares both the preceding and the subsequent I- or P-frame data. The B-frame contains the average of matching macroblocks or motion vectors. Because a B-frame is encoded based upon both preceding and subsequent frame data, it effectively stores motion information.
Thus, MPEG-2 achieves its compression by assuming that only small portions of an image change over time, allowing the representation of these additional frames to be quite compact. Although GOPs have no relationship between themselves, the frames within a GOP have a specific relationship which builds off the initial I-frame.
The compressed video and audio data are typically carried by continuous elementary streams, respectively, which are broken into access units or packets, resulting in packetized elementary streams (PESs). These packets are identified by headers that contain time stamps for synchronizing, and are used to form MPEG-2 transport streams. For digital broadcasting, multiple programs and their associated PESs are multiplexed into a single transport stream. A transport stream has PES packets further subdivided into short fixed-size data packets, in which multiple programs encoded with different clocks can be carried. A transport stream not only comprises a multiplex of audio and video PESs, but also other data such as MPEG-2 program specific information (sometimes referred to as metadata) describing the transport stream. The MPEG-2 metadata may include a program associated table (PAT) that lists every program in the transport stream. Each entry in the PAT points to an individual program map table (PMT) that lists the elementary streams making up each program. Some programs are open, but some programs may be subject to conditional access (encryption), and this information (i.e., whether open or subject to conditional access) is also carried in the MPEG-2 transport stream, typically as metadata.
The aforementioned fixed-size data packets in a transport stream each carry a packet identifier (PID) code. Packets in the same elementary streams all have the same PID, so that a decoder can select the elementary stream(s) it needs and reject the remainder. Packet-continuity counters may be implemented to ensure that every packet that is needed to decode a stream is received.
The well-known H 264/MPEG-4/AVC (Advanced Video Coding) standard is noted for achieving very high data compression and employs basic principles similar to those of MPEG-2, with a number of features that are enhanced, compared to MPEG-2, as will be familiar to the skilled artisan.
Use of digital video recorders (DVRs), also known as personal video recorders (PVRs), such as the TiVo® device (registered mark of TiVo Brands LLC, Alviso, Calif.) and the R Replay TiVo® device (registered mark of Digital Networks North America Inc, Pine Brook, N.J.), is ubiquitous Such devices may provide some benefits to TV viewers. For example, a prior art DVR allows a user to record his or her favorite TV programs for later review, and to exercise a season-pass-like option wherein every episode of his or her favorite program is recorded for some period. Such devices may automatically record programs for the user based on his or her viewing habits and preferences. The presentation of the recorded programming content can be manipulated by exercising rewind, pause, skip and/or fast-forward functions (hereinafter referred to as “trick mode” functions) furnished by the DVR
U.S. Pat. No. 7,073,189 of McElhatten, et al. is entitled “Program guide and reservation system for network based digital information and entertainment storage and delivery system.” The disclosure of the aforesaid U.S. Pat. No. 7,073,189 of McElhatten, et al. is expressly incorporated herein by reference for all purposes A “network PVR (NPVR)” (also referred to as an NDVR (Network Digital Video Recorder)) service allows the user to perform the analogous DVR functions through use of a network, rather than via a local DVR at the user premises. Unlike a DVR device, the NPVR service allows a user to “reserve” past and future programs for his or her review, even if such reserved programs were not identified by the user before their broadcast.
Note that “trick modes” or “trick play” refer to one or more of fast forward, reverse, pause, skip, and the like.
In typical current video-on-demand (VOD) and NDVR systems, trick modes are handled by creating trick mode files as separate files stored within the system. Current techniques may place an undesirable synchronization burden on other system components. Furthermore, current techniques may place an additional burden on propagation due to having to propagate normal video and trick mode file(s) and/or stream(s).
U.S. Patent Application Publication 2005-0135783 of Regis J. Crinon is entitled “Trick mode elementary stream and receiver system.” A video receiver system comprises a video elementary stream decoder that decodes an elementary stream and one or more trick mode processing modules that modify the elementary stream to enable a trick mode effect The trick mode processing module(s) produce a trick mode elementary stream for input to the video elementary stream decoder module. For example, the one or more trick mode processing modules can replace plural non-key frames of the elementary stream with one or more P-type skipped frames for a fast forward effect, where the trick mode elementary stream comprises one or more entry point key frames and the one or more P-type skipped frames. The video receiver system can selectively route the elementary stream to either the video elementary stream decoder module or the one or more trick mode processing modules. The system set forth in the Crinon reference thus seeks to implement trick modes on the decoder side
Further improvements on known techniques would be desirable.